package com.itheima.stock.api;

import com.itheima.stock.entity.StockBusiness;
import com.itheima.stock.response.PageResult;
import com.itheima.stock.response.ResponseResult;
import com.itheima.stock.vo.*;
import io.swagger.v3.oas.models.annotations.OpenAPI30;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author zby
 * @created 2024-06-23 16:29
 * @description
 */

@RequestMapping(path = "/api/quot")
public interface StockControllerAPI {

    /**
     * 个股涨跌幅度区间统计
     * @return
     */
    @GetMapping("/stock/updown")
    ResponseResult<StockUpDownVO> stockUpDown();

    /**
     * 成交量对比
     */
    @GetMapping("/stock/tradevol")
    ResponseResult<TradeAmtVO<CountVo>> tradeAmt();
    /**
     *
     * @description 导出数据
     * @param page
     * @param pageSize
     */
    @GetMapping("/stock/export")
    void export(@RequestParam(value = "page") int page,
                @RequestParam(value = "pageSize") int pageSize,
                HttpServletResponse response);
    /**
     * 涨停跌停数据
     */
    @GetMapping(path = "/stock/updown/count")
    ResponseResult<UpDownVO<CountVo>> UpDown();
    /**
     * 更多股票涨幅榜
     * @return
     */
    @GetMapping(path = "/stock/all")
    ResponseResult<PageResult<MoreVO>> more(@RequestParam(value = "page") Integer page,@RequestParam(value = "pageSize") Integer pageSize);

    /**
     * 股票涨幅榜
     * @return
     */
    @GetMapping(path = "/stock/increase")
    ResponseResult<List<IncreaseVO>> increase();


    @GetMapping(path = "/stock/business/all")
    ResponseResult<List<StockBusiness>> getStockBusiness();


    /**
     * 获取国内大盘数据
     * @return
     */
    @GetMapping(path = "/index/all")
    ResponseResult<List<MarketIndexVO>> innerIndexAll();

    /**
     * 板块数据
     * @return
     */
    @GetMapping(path = "/sector/all")
    ResponseResult<List<SectorAllVO>> SectorAll();



}